1. 18.2 EM算法介绍
1.1. 学习目标
- 知道什么是极大似然估计
- 知道EM算法实现流程
想清晰的了解EM算法,我们需要知道一个基础知识:
- “极大似然估计”
1.2. 1 极大似然估计
1.2.1. 1.1 问题描述
假如我们需要调查学校的男生和女生的身高分布 ,我们抽取100个男生和100个女生,将他们按照性别划分为两组。
然后,统计抽样得到100个男生的身高数据和100个女生的身高数据。
如果我们知道他们的身高服从正态分布,但是这个分布的均值μ 和方差δ2 是不知道,这两个参数就是我们需要估计的。
问题:我们知道样本所服从的概率分布模型和一些样本,我们需要求解该模型的参数.
- 我们已知的条件有两个:
- 样本服从的分布模型
- 随机抽取的样本。
- 我们需要求解模型的参数。
根据已知条件,通过极大似然估计,求出未知参数。
总的来说:极大似然估计就是用来估计模型参数的统计学方法。
1.2.2. 1.2 用数学知识解决现实问题
问题数学化:
- 这个概率反映了在概率密度函数的参数是θ时,得到X这组样本的概率。
- 我们需要找到一个参数θ,使得抽到X这组样本的概率最大,也就是说需要其对应的似然函数L(θ)最大。
1.2.3. 1.3 最大似然函数估计值的求解步骤
多数情况下,我们是根据已知条件来推算结果,而极大似然估计是已知结果,寻求使该结果出现的可能性最大的条件,以此作为估计值。
链接:极大似然函数取对数的原因
1.3. 2 EM算法实例描述
我们目前有100个男生和100个女生的身高,但是我们不知道这200个数据中哪个是男生的身高,哪个是女生的身高,即抽取得到的每个样本都不知道是从哪个分布中抽取的。
这个时候,对于每个样本,就有两个未知量需要估计:
(1)这个身高数据是来自于男生数据集合还是来自于女生?
(2)男生、女生身高数据集的正态分布的参数分别是多少?
具体问题如下图:
对于具体的身高问题使用EM算法求解步骤如下:
(1)初始化参数:先初始化男生身高的正态分布的参数:如均值=1.65,方差=0.15;
(2)计算分布:计算每一个人更可能属于男生分布或者女生分布;
(3)重新估计参数:通过分为男生的n个人来重新估计男生身高分布的参数(最大似然估计),女生分布也按照相同的方式估计出来,更新分布。
(4)这时候两个分布的概率也变了,然后重复步骤(1)至(3),直到参数不发生变化为止。
1.4. 3 EM算法流程
输入:
算法步骤:
2)j=1,2,...,J 开始EM算法迭代:
- E步:计算联合分布的条件概率期望:
输出:模型参数θ。
1.5. 3 小结
- 极大似然估计
- 根据已知条件,通过极大似然估计,求出未知参数;
- 极大似然估计就是用来估计模型参数的统计学方法。
- EM算法基本流程
- 1) 初始化参数;
- 2) 计算分布;
- 3) 重新估计参数;
- 4) 重复1-3步,直到参数不发生变化为止。